// Module : Direction
// Contient les fonctions de gestion du déplacement

#ifndef DIRECTION__H__
#define DIRECTION__H__

#include <stdlib.h>
#include "constantes.h"

// Les différentes directions :
typedef enum vers { UP, DOWN, LEFT, RIGHT, NONE } vers;

// Définition du type (cf direction.c)
typedef struct direction* direction;

// Alloue la mémoire pour un nouveau déplacement TODO
direction DIRnew();

// Retourne la copie d'un déplacement TODO
direction DIRcopy(direction d);

// TODO : trop space d'appeler ça "direction" en fait
void DIRfree(direction d);


// Fonctions de récupération d'informations

// Récupère l'abscisse du personnage à déplacer
int DIRgetX(direction d);

// Récupère l'ordonnée du personnage à déplacer
int DIRgetY(direction d);

// Récupère la direction du personnage à déplacer
int DIRgetV(direction d);
/////////////////


// Fonctions d'affectation

// Change l'abscisse
void DIRsetX(direction d, int x);

// Change l'ordonnée
void DIRsetY(direction d, int y);

// Change la direction
void DIRsetDir(direction d, vers dir);
//////////////


#endif
